/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.05;

vertices
(
    (0 0 0)             // 0
    (10 0 0)            // 1
    (10 10 0)           // 2
    (0 10 0)            // 3

    (2.879 2.879 0)     // 4
    (7.121 2.879 0)     // 5
    (7.121 7.121 0)     // 6
    (2.879 7.121 0)     // 7

    (4.293 4.293 0)     // 8
    (5.707 4.293 0)     // 9
    (5.707 5.707 0)     // 10
    (4.293 5.707 0)     // 11


    (0 0 10)            // 12
    (10 0 10)           // 13
    (10 10 10)          // 14
    (0 10 10)           // 15

    (2.879 2.879 10)    // 16
    (7.121 2.879 10)    // 17
    (7.121 7.121 10)    // 18
    (2.879 7.121 10)    // 19

    (4.293 4.293 10)    // 20
    (5.707 4.293 10)    // 20
    (5.707 5.707 10)    // 22
    (4.293 5.707 10)    // 23
);

blocks
(
    hex (0 1  5  4 12 13 17 16) (30 30 30) simpleGrading (1 1 1)
    hex (1 2  6  5 13 14 18 17) (30 30 30) simpleGrading (1 1 1)
    hex (2 3  7  6 14 15 19 18) (30 30 30) simpleGrading (1 1 1)
    hex (3 0  4  7 15 12 16 19) (30 30 30) simpleGrading (1 1 1)
    hex (4 5  9  8 16 17 21 20) cylinder (30 30 30) simpleGrading (1 1 1)
    hex (5 6 10  9 17 18 22 21) cylinder (30 30 30) simpleGrading (1 1 1)
    hex (6 7 11 10 18 19 23 22) cylinder (30 30 30) simpleGrading (1 1 1)
    hex (7 4  8 11 19 16 20 23) cylinder (30 30 30) simpleGrading (1 1 1)
    hex (8 9 10 11 20 21 22 23) innerCylinder (30 30 30) simpleGrading (1 1 1)
);

edges
(
    arc 4 5 (5 2 0)
    arc 5 6 (8 5 0)
    arc 6 7 (5 8 0)
    arc 7 4 (2 5 0)

    arc 8 9 (5 4 0)
    arc 9 10 (6 5 0)
    arc 10 11 (5 6 0)
    arc 11 8 (4 5 0)

    arc 16 17 (5 2 10)
    arc 17 18 (8 5 10)
    arc 18 19 (5 8 10)
    arc 19 16 (2 5 10)

    arc 20 21 (5 4 10)
    arc 21 22 (6 5 10)
    arc 22 23 (5 6 10)
    arc 23 20 (4 5 10)
);

boundary
(
    walls
    {
        type wall;
        faces
        (
            (0 4 5 1)
            (1 5 6 2)
            (2 6 7 3)
            (3 7 4 0)

            (12 13 17 16)
            (13 14 18 17)
            (14 15 19 18)
            (15 12 16 19)

            (0 12 13 1)
            (1 13 14 2)
            (2 14 15 3)
            (3 15 12 0)
        );
    }
    inlet
    {
        type patch;
        faces
        (
            (4 8 9 5)
            (5 9 10 6)
            (6 10 11 7)
            (7 11 8 4)
            (8 11 10 9)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (16 17 21 20)
            (17 18 22 21)
            (18 19 23 22)
            (19 16 20 23)
            (20 21 22 23)
        );
    }
);

mergePatchPairs
(
);

// ************************************************************************* //
